package com.clothing.customization.repository;

import com.clothing.customization.entity.ClothingMaterial;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 服装材质Repository
 */
@Repository
public interface ClothingMaterialRepository extends JpaRepository<ClothingMaterial, Long> {
    
    /**
     * 根据状态查询材质列表（按创建时间倒序）
     * @param status 状态
     * @return 材质列表
     */
    List<ClothingMaterial> findByStatusOrderByCreateTimeDesc(Integer status);
    
    /**
     * 根据名称模糊查询并按状态筛选
     * @param name 名称
     * @param status 状态
     * @return 材质列表
     */
    List<ClothingMaterial> findByNameContainingAndStatus(String name, Integer status);
    
    /**
     * 根据价格范围和状态查询
     * @param minPrice 最小价格
     * @param maxPrice 最大价格
     * @param status 状态
     * @return 材质列表
     */
    List<ClothingMaterial> findByPriceBetweenAndStatus(Double minPrice, Double maxPrice, Integer status);
    
    /**
     * 根据成分模糊查询并按状态筛选
     * @param composition 成分
     * @param status 状态
     * @return 材质列表
     */
    List<ClothingMaterial> findByCompositionContainingAndStatus(String composition, Integer status);
    
    /**
     * 根据季节和状态查询
     * @param season 季节
     * @param status 状态
     * @return 材质列表
     */
    List<ClothingMaterial> findBySeasonAndStatus(String season, Integer status);
} 